home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / vir_real / papers / lateiner.vxl < prev    next >
Encoding:
Text File  |  1993-06-20  |  24.6 KB  |  451 lines

  1. Article 4224 of sci.virtual-worlds:
  2. From: jlateine@pearl.tufts.edu (JOSHUA S. LATEINER)
  3. Subject: SCI: Voxel-VR
  4. Organization: Tufts University - Medford, MA
  5. Date: Wed, 20 May 1992 07:15:00 GMT
  6.  
  7. -------------
  8.  
  9. All rights are reserved, and it may not be distributed or copied without
  10. the express permission of the Author.  (C) 1992
  11.  
  12.         An Alternative Approach to Computer Modeling of Reality:
  13.                        Component Structure Systems
  14.                       By Joshua Sebastian Lateiner
  15.                         Copyright (C) April 7, 1992
  16.  
  17. ABSTRACT:
  18.      Current computer models of reality are built up from a
  19. database of entities which consist of a set of points and a
  20. relationship between them.  These systems are best suited for
  21. engineering analysis, as these systems lend themselves to
  22. analysis through a set of pre-defined deterministic equations. By
  23. describing reality as being built up from tiny indivisible units,
  24. or "three-dimensional pixels," a model of reality can be
  25. constructed that is more similar to the real world.  Such a
  26. system would have many potential applications, especially with
  27. regard to simulations -- such as those used in virtual reality
  28. models, that attempt to model complex stochastic behaviors.
  29.  
  30. HISTORY:  
  31.      Most present computer aided design systems and present
  32. virtual reality technology are all based on a method of
  33. representing reality within a computer that evolved concurrent
  34. with current computer technology.  This system was designed for
  35. its efficiency and utility, as it was meant to run on machines of
  36. comparatively little computing power and memory.  This method of
  37. representing reality within a computer relies upon a vast
  38. database that describes physical systems, rather than modeling
  39. them.  Objects are built up from wire frame entities, and then
  40. fleshed out with artificial surfaces when necessary (this is most
  41. often used in models of "virtual reality").
  42.      However, this method of modeling is very different from the
  43. physical reality. Imagine if all digital images had to be defined
  44. in the same manner now used to define three dimensional objects
  45. within the traditional system; a picture of a human face would
  46. need to be reduced to a bunch of points related by a number of
  47. mathematical relationships defining splines, circles, squares and
  48. other shapes.  Physical objects in the real world do not owe
  49. their shape to a database of points and equations, but to the
  50. arrangement of their component structures.  Component Structure
  51. (CS) modeling is a method by which reality is modelled by a
  52. large number of extremely simple objects. Thus, this method of
  53. modeling creates 'billion billiard-ball' structures, made up of
  54. a great many of these tiny components.  This method is somewhat
  55. less mathematically graceful than the traditional system, but
  56. affords a much higher level of flexibility and complexity.  This
  57. form of modeling changes the nature of the calculations required
  58. in analysis; for example, one would never need to verify whether
  59. or not two objects overlap, as this method of modeling makes it
  60. impossible for this to occur.
  61.      Depending upon the size of the individual components, this
  62. model can approximate the accuracy of a database driven model to
  63. any given degree, in much the same way a Riemann sum can
  64. approximate the area under a curve to any given degree of
  65. accuracy.
  66.      Long ago, multiplication and division used to be performed
  67. via log tables, in order to convert these operations into simpler
  68. ones, due to the nature of the computer being used at the time
  69. (most of which were human).  However, computers have afforded
  70. humanity brute calculating force that is potentially unlimited. 
  71. Now that we have calculating machines, we no longer use logs to
  72. multiply and divide.  The same seems to apply to database driven
  73. reality modeling systems.  Why should one bend over backwards to
  74. make the task "easier" than it needs to be?  Why should we adhere
  75. to a "fluid" modeling system that allows calculations to be made
  76. with infinite precision, using advanced calculus based formula
  77. analysis, when the world itself is discrete?  Computers have
  78. surely shown us that an algorithm that produces an answer that is
  79. as accurate as we might want is actually more valuable then an
  80. algorithm that can give us an infinitely accurate answer, if it
  81. were provided with the necessary insight.  Computers are not
  82. presently good at insight, but they can do discrete computations,
  83. so a good reality modeling system should take advantage of a
  84. computer's strong points, rather then sell itself short in trying
  85. to accommodate a computer's weak points.
  86.      The strength of traditional modeling systems lie in their
  87. predictive ability, and are well suited to traditional
  88. engineering analysis.  Usually, this analysis is performed using
  89. insight supplied by the user.  However, CS systems excel in areas
  90. that must account for actions the designer could not have
  91. envisioned, such as those systems involved in virtual reality,
  92. where a human being is allowed to interact intimately with
  93. computer-generated constructs. This method of modeling is not
  94. necessarily superior in terms of analysis, but in terms of its
  95. intrinsic "real" properties.
  96.      The structures that are manipulated in a database driven
  97. reality modeling system are very far removed from physical
  98. reality, which is to the advantage of the engineer who needs
  99. things to be described in terms of deterministic equations.  If
  100. the structures are to provide a setting for any highly complex
  101. stochastic behavior, however, traditional systems will be at a
  102. loss to adequately model these interactions.  Component Structure
  103. modeling, once supplied with basic, fundamental rules, will be
  104. able to model any behavior that might occur within the reality
  105. being modelled.  For example, a traditional system might have
  106. difficulty deciding what would happen if one were to break a
  107. ceramic entity into pieces, and then use these pieces to etch a
  108. line on a metal entity.  This sort of behavior is impertinent to
  109. engineering models, but of great pertinence to any sufficiently
  110. detailed virtual reality system.
  111.  
  112. BASIC PROCEDURE:
  113.      The simplest case in which a three-dimensional entity is
  114. stored within linear computer memory is the case in which the
  115. entity being modelled has no special characteristics; it is built
  116. up as if from individual grains of sand placed in a unique
  117. pattern, in any given piece of space, there either is or is not a
  118. grain of sand.
  119.      A transformation formula can easily convert a linear address
  120. to a unique three-dimensional co-ordinate:
  121.  
  122.      L(X,Y,Z) = X + (A * Y) + (A^2 * Z)           Eq. 1
  123.  
  124. where A is the upper limit of the cube within which the point
  125. lies.
  126.      To define a solid cube with one hundred units per edge would
  127. require one million bits.  However, data that is not within the
  128. immediate range of the user is less likely to need to be altered
  129. or viewed in any manner requiring much detail.  Therefore,
  130. "macropixels" are defined, which consist of a compressed version
  131. of the original linear data, and are represented graphically as a
  132. composite pixel based on is component pieces.  For example, if
  133. the region was half-filled, it would be represented as a uniform
  134. solid with half the density of the original.   
  135.      By compressing various chunks of the three-dimensional
  136. matrix in a manner consistent with the demands of the user at any
  137. given time, this system may end up being more efficient than the
  138. database driven modeling systems.  For example, when a user is
  139. manipulating the gross attributes of a structure, database driven
  140. systems need to redraw and maintain every entity as they are
  141. being manipulated.  However, CS modeling will allow the
  142. clustering of related pieces together.
  143.      The clustering process is a natural extension of the
  144. techniques used to display a digital image on a computer screen. 
  145. The information in the image may be extremely detailed, so that
  146. if each pixel in the picture were assigned to each graphic pixel
  147. on the display, the image would be much too large to display. 
  148. However, the computer uses standard graphics algorithms, and
  149. assigns each graphics pixel to a cluster of pixels in the actual
  150. image, thus each pixel displays  a composite image.  As the
  151. viewer zooms in or out, data is either "clustered" or
  152. "unclustered," with appropriate data compression taking place
  153. regarding both pieces of the matrix that are being worked on, and
  154. those that are currently "off camera."  This process will allow a
  155. greater efficiency in the management of memory.
  156.      An engineer might have methods of producing parts to within
  157. a certain degree of accuracy; thus the size of the fundamental
  158. units or "3-D pixels" would be based upon these needs. Areas of
  159. the model not being manipulated at any given time would become
  160. compressed into uniform macropixels; and areas that interact
  161. would be maintained in a highly decompressed state.  
  162.      The actual compression algorithms that might be used are not
  163. pertinent to this discussion, there are many highly efficient,
  164. commonly used algorithms currently in use, and any of these would
  165. serve the purposes of this article.  The method used to compress
  166. the three dimensional matrix is as follows:
  167.       1) An area is selected to be compressed.  In compressing an
  168.      area, it will be broken into a matrix of uniform cubes,
  169.      each of these cubes will become an individual "macropixel." 
  170.      The only difference between a macropixel and a primary unit
  171.      is that the macropixel will reflect, on its faces, a
  172.      composite image of the underlying data, while a compressed
  173.      version of the actual data is stored within the area of the
  174.      matrix occupied by the macropixel.  This information will
  175.      be used when the simulation needs to evaluate an event
  176.      which effects the object on a level below the detail
  177.           provided by the macropixels. 
  178.       2) The pieces of the area to be compressed will always be
  179.      uniform cubes, in order for the macropixel that will
  180.      replace occupy these cubes will not have to be deformed to
  181.           occupy the same space.
  182.       3) Using equation one, an algorithm transfers the three
  183.           dimensional matrix back into a linear string.
  184.       4) The linear string is then fed to a standard compression
  185.      algorithm which compresses the data.  The compressed linear
  186.      string is stored in the same way any linear data within the
  187.      matrix is stored, as a cube; however this cube will be
  188.      smaller than the original cube, and will fit well within
  189.           the area taken up by the macropixel.
  190.      If the cell being compressed is not made up of primary
  191. units, but was already comprised of macropixels, then the
  192. simulation would decompress the declustering strings of all of
  193. the macropixels involved, string them together, and recompress
  194. them as one string, which would reside inside one large
  195. macropixel.  Thus the resulting macropixel would be identical
  196. with a macropixel that had been created directly from the primary
  197. units in the area over which the macropixel was defined.
  198.      Declustering works the same way, by decompressing the
  199. declustering strings, and then restringing them to the scale
  200. desired, and forming macropixels (or primary units) from them. 
  201.  
  202. MATRIX DESCRIPTION:
  203.         Macropixels and pixels alike are stored in a matrix-within-matrix
  204. system (Lateiner-Coordinate Matrix -- LCM).  The LCM is a matrix system
  205. which allows points to be located within a vast array with a minimal
  206. amount of information. It also allows worlds-within-worlds to come online
  207. with a minimum of data-shuffling.  The system is based around a unit cell
  208. (a cube) with sides of length L.  Every point within the unit cell is
  209. identified with six co-ordinates, its location within the cell,
  210. and the location of the cell in a matrix of cells that is of
  211. exactly the same dimensions as the unit cell itself; e.g. a
  212. matrix of unit cells is a cube containing L unit cells to a side. 
  213. Likewise, the location of each unit cell is identified in an
  214. Origin Stack (OS) located at the (0,0,0) coordinate of the unit
  215. cell.  The OS contains unit cell's location in the matrix of unit
  216. cells, and its location in the matrix one step higher, and so
  217. forth. If L were equal to sixty-four units, for example, each cell
  218. would hold over 250,000 units. With a finite number of
  219. LCM coordinates, one can define an extremely large amount of
  220. information.  If each cell were described by ten sets of
  221. co-ordinates (one for each of its parent matrices, each parent
  222. matrix being held in a larger parent matrix), then the field
  223. defined contains L^59049 units, where 59049 is 3^10.    
  224.      However, not all cells need all ten co-ordinates. Every cell
  225. contains a location descriptor as non-manifest information along
  226. an information axis (see below) at its origin.  This information
  227. contains only the cell's co-ordinates in a matrix of cells one
  228. step larger than itself.  The same is true of parent matrices,
  229. which hold at their origin their co-ordinates in their parent
  230. matrices.  A bit can be located anywhere within dataspace by
  231. checking the data at the origins of matrices, starting with the
  232. smallest cell and working outward as far as required.
  233.      The LCM method of describing three-dimensional space is
  234. particularly useful when the environment is being shared by
  235. several separate computers or processors which must work
  236. together.  For instance, the task of maintaining a certain area
  237. of the matrix could be assigned to a certain processor.  The non-
  238. global definitions of the matrix which hold all of CS together
  239. mean that each unit of the matrix does not need to know what all
  240. the other units are doing.
  241.  
  242. CHARACTER DESCRIPTOR STRING:
  243.      Every cell might be defined, using information stored at its
  244. origin, to have a "depth" of 'D'.  This depth determines the
  245. number of non-manifest bits in each string.  Thus, every D+1 bits
  246. are treated in the traditional fashion, as explained under Basic
  247. Procedure.  The additional D bits associated with every manifest
  248. pixel is that pixel's character descriptor string (CDS).  This
  249. CDS may contain such information as the linkage descriptors,
  250. color, nature of the material, etc.
  251.      This depth may be thought of as an additional position
  252. coordinate, so that equation one becomes (where I is an
  253. information axis, where the CDS is stored "behind" each pixel):
  254.  
  255. L(I,X,Y,Z) = I + (D*X) + (D * A * Y) + (D * A^2 * Z)           Eq. 2
  256.  
  257.      The information axis contains all "non-manifest"
  258. information.  Bits that lie along this axis are not shown as
  259. being part of the three dimensional matrix, as they lie in a
  260. limited "fourth dimension."  The co-ordinate information located
  261. at the origin of every cell is stored in this fashion.
  262.      The linkage descriptors are, in their simplest form, are six
  263. bits which describe which of each pixel's six neighbors it is
  264. connected to.  Linking allows objects to be defined within the
  265. matrix that can be moved as one unit.  In the standard model,
  266. without CDS's, two pixels are assumed to be linked if they are
  267. adjacent and they are both 'on.'  This permits data structures
  268. not originally intended to be modelled in a three dimensional
  269. model to manifest as linked, three dimensional objects (see
  270. Dynamic Data Environments, below).
  271.      Linkage descriptors may be more complicated, though, and
  272. contain information about the nature of these bonds, and the
  273. forces required to break or create them. The pixel's linkage
  274. information is the CS model's equivalent of intermolecular
  275. forces. In evaluating the connectedness information for a macro-
  276. pixel, a simple analysis of the individual surface pixels is
  277. performed, and a composite connection is defined for each of the
  278. six faces.
  279.      The process for determining if two macropixels are linked is
  280. as follows: if the strength of the link is not specified, then a
  281. macropixel is linked to its neighbor in any given direction of
  282. any pixel on that face is linked to one in a neighboring face. 
  283. If the link strength is specified, then a macropixel's linkage
  284. strength with its neighbor is a composite of the linkage
  285. strengths of all the component pieces that border the faces of
  286. two bordering macropixels.
  287.      The CDS may also contain information about the color of the
  288. pixel, or any other attribute one might wish to ascribe to any
  289. given component. Thus, any pixel in a field of depth D has the
  290. potential to have as many characteristics as possible to fit in a
  291. CDS of length D. The CDS's are all arranged uniformly, and are
  292. strung together in a four-dimensional manner when a macro-pixel
  293. is being created.  This uniformity is used to great advantage, as
  294. the redundancy inherent in such a setup is eliminated through the
  295. compression algorithms.
  296.  
  297. DYNAMIC TECHNIQUES:
  298.      Just as a cell with a depth will contain CDS's for each
  299. pixel, a cell which is meant to contain dynamic systems would
  300. contain a dynamic descriptor string, DDS, of length 'X' stored
  301. behind the CDS.  Thus, the "depth" of that cell becomes D + X.
  302. Each pixel within that cell has associated with it not only
  303. character descriptors but dynamic descriptors such as velocity.
  304. If two velocity vectors are stored, both the present and the one
  305. from the preceding moment, the acceleration of the object may be
  306. calculated.  Forces, which may only be defined locally, are added
  307. by allocating processor time; a "gravitational force" could be
  308. brought online such that it would add to the downward velocity of
  309. any pixel.  A secured object would be affected not by moving, but
  310. by feeling the force of the velocity such that the force equaled
  311. the mass of the pixel (described in its CDS) times the change in
  312. its velocity divided by time:
  313.  
  314.      F = m * a                     a =  v / t = (v2 - v1) / t
  315.  
  316.      F = m * (v2 - v1) / t                                  Eq. 3
  317.  
  318.      Where F is the force, m is the mass, a is the acceleration,
  319. and t is the time elapsed between the old velocity (v1) and the
  320. new velocity (v2).
  321.      In this manner, any number of forces, real or imaginary, can
  322. be modelled. This is just the beginning of the full spectrum of
  323. Newtonian behavior and analysis that could be performed using a
  324. CS system for dynamic modeling. 
  325.      Non-deterministic events may also be modelled, such as the
  326. shattering of an object. Fractal events are utilized to achieve
  327. this purpose.  If one were to drop a ceramic vase onto the floor
  328. within this simulation, the point of impact would be the
  329. originating point for an algorithm to produce fracture-force
  330. lines that propagate fractally throughout the structure (both
  331. the vase and the floor).  If the fracture-force is larger than
  332. the linking force at any given point along the fracture line,
  333. then the two pieces become "unlinked."
  334.      The preceding descriptions give a glimpse of the
  335. possibilities that are unleashed using this approach to modeling
  336. physical systems.  The essential idea is to create a system out
  337. of a small number of basic pieces that can operate together
  338. without human insight.  The organization of these pieces should
  339. be the part of the model that makes it interesting, not the
  340. complexity of any given piece.
  341.  
  342. INTERFACING WITH THE MODEL:
  343.      The beauty of the CS model is perhaps most apparent when one
  344. is confronted with the flexibility one has in manipulating and
  345. interfacing with it.  It is not centered around any particular
  346. way of being interfaced with, and therefore is capable of being
  347. interacted with an unlimited number of different ways.  For
  348. example, sight could be simulated by using the following
  349. technique:
  350.         1) A point of reference for the viewer is defined.
  351.         2) Density and spread variables are defined, such that the
  352.       density is equal to the number of "photons" that will be
  353.       used, and the spread is a number defining how fast the
  354.             distribution spreads through space.
  355.         3) A pulse of photons is emitted from the reference point. 
  356.       These photons proceed through space and spread out, but
  357.       remain finite in number.  When they strike non-empty
  358.       space, they return the information to the source to be
  359.             interpreted.
  360.         4) If a photon has yet to strike anything after covering a
  361.              specified distance, it gives up.
  362.         5) The information returned by the photons is compiled at
  363.       the source into an image to be displayed.  This can be
  364.       done in a great many different ways, too numerous to
  365.             discuss here.
  366.         6) After an initial full burst is sent out, if the initial
  367.       reference point has not changed orientation or position,
  368.       then a maintenance program is initiated which sends out a
  369.       few photons distributed randomly over the visual field. 
  370.       If the information they send back is identical with that
  371.       already being stored, then the program is continued.  If
  372.       it is different in any way, another full burst is sent out.
  373.      This is only one of the many different possible ways of
  374. interfacing.  A sense of touch could be incorporated, or any
  375. number of different senses -- different ways of interacting with
  376. the CS model; as it is "real" within the computer whether or not
  377. it is being interfaced with.
  378.  
  379. DYNAMIC DATA ENVIRONMENT:
  380.      The CS model lends itself to many different applications. 
  381. It allows a different array of analysis options from those
  382. offered by traditional systems.  It allows highly detailed,
  383. flexible modeling of "real" environments that are as large or
  384. small as one might wish. In addition, the CS model may be applied
  385. to the modeling of data structures.  Any digital entity can be
  386. represented as a structure within the CS model, as the basic
  387. procedure is geared toward representing linear binary strings as
  388. three dimensional entities.
  389.      This capability has enormous potential in affording computer
  390. users a more conceptual way of handling the flow of information.
  391. Network analysts could "see" their network in an entirely new
  392. light.  Such an interface with data constructs would be a
  393. breakthrough on the order of the difference felt by users dealing
  394. with a traditional text prompt or a graphic, icon based operating
  395. systems, as it affords users a platform-environment independent
  396. way of viewing dynamic data structures.  In other words, the CS
  397. model could be used to view data structures within any computer
  398. currently in existence if it is accessible through a network, or
  399. is able of running a CS model simulator so that it may view
  400. itself.
  401.      This capability could be very important in security matters,
  402. as the view of a network from a CS view allows network managers
  403. to view how a network could be accessed, and tighten security
  404. accordingly.  Such security programs could be better focused, as
  405. they could target areas of the network that requires them most,
  406. while easing the "annoyance factor" involved when people must
  407. work with an overly secured system on a day to day basis.  Levels
  408. and security clearance zones could be defined visually and
  409. conceptually, without dealing with intermediary icon based
  410. interfaces which use labels to represent data, like an icon, as
  411. opposed to actually representing the data.  Program objects could
  412. be manipulated in front of or behind protective curtains of
  413. Internal Security Electronics, or ISE (pronounced 'ice').  ISE
  414. programs would prevent the unauthorized flow of data through its
  415. boundary. The development of ISE would be facilitated by a CS
  416. based network model.
  417.      ISE programs could consist of a program aligned in the
  418. matrix like a three dimensional surface that would surround
  419. protected data.  Information flowing across the boundary of the
  420. ISE would need to be authorized, otherwise it would not be
  421. permitted across.  Program and data objects, which would manifest
  422. in the matrix as linked objects, could be manipulated and
  423. positioned by a network administrator in front of or behind the
  424. surface of the ISE.
  425.  
  426. CONCLUSION:
  427.      The computer revolution has taught people many lessons, one
  428. of the most important is the following:  a complex arrangement of
  429. simple components (such as in digital circuitry) yields a more
  430. flexible system than the simple arrangement of complex components
  431. (such as in analog circuitry).  The Component Structure method is
  432. the "digital" equivalent of the "analog" database driven CAD
  433. systems presently employed.  However, its importance is not necessarily 
  434. in the field of engineering, which may be better suited to
  435. deterministic, superficially oriented "wire-frame" realities. 
  436. Component Structure models shine where the initial designer is
  437. only creating an environment, in which a conceivably infinite
  438. number of different events might occur.
  439.  
  440. [{(<:=======---------------------       -----------------------=======:>)}]
  441. [{(                      JLATEINE@PEARL.TUFTS.EDU                       )}]
  442. [{     Freelance Cyberspatial Researcher at Lateiner Dataspace Group     }]
  443. [      (My opinions are mine, as they have no one else to belong to)      ] 
  444. [   < 114 Edgemont Road          > < Dedicated computational devices  >   ] 
  445. [{  < Up Montclair, NJ 07043-1328> < are asking for obselescence...   >  }]
  446. [{( < 1-201-783-3488             > < Remember the dedicated word proc?> )}]
  447. [{(<:=======---------------------       -----------------------=======:>)}]     
  448.   
  449.  
  450.  
  451.